package com.example.demo.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

/**
 * 用户登录请求体，包含账号凭证信息。
 */
@Data
@Schema(description = "用户登录请求参数")
public class UserLoginRequest {

    /**
     * 用户名，用于识别用户。
     */
    @Schema(description = "用户名", example = "student01")
    @NotBlank(message = "用户名不能为空")
    @Size(max = 64, message = "用户名长度不能超过64")
    private String username;

    /**
     * 明文密码，由服务端校验后返回登录结果。
     */
    @Schema(description = "登录密码", example = "password123")
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 64, message = "密码长度需要在6-64之间")
    private String password;
}
